When qualifying ends for someone and the position/time changes to red, the timing info is no more gathered by server/Airio, there are no lap times after qualification, so start grid is not influenced.
For a server-side application such as Airio this is too much data to be sent to clients. But client-side application handles this with ease, and of course I'd suggest Aonio, the link cargame.nl was presenting above. Many panels are available there, also those with constantly updated time difference (to previous/following drivers and to everyone as well).
I still do not see how this could happen, unless you have BL1 also defined in the rotation string. Then changing the string and doing !rld could mean Airio will rotate to another track.
Uhm, interesting, I'll check if it is possible to do this, somehow, reasonably...
If there's room, I guess that could be done...
1) Using auto-restart value, but I cannot check now what specific item it is. Also there's a problem, when does really qualification end? I think the auto restart needs to be set to something like qual_length + safety_margin in seconds, but I'll need to check in more detail.
2) There is an option for this in SRV file, try looking or "countdown" in the file...
Hmm, strange, I'll try to take a look at it...
I'd suggest using real Unicode characters for the "Japanese R", not ^J something...
On 500servers most people cannot update the core files (EXE/PDB) themselves, so the LIC file is really all you need, Airio update will be done using the service update feature.
If you did not get link to the FULL/PROS version and need the latest config files, just download the latest FREE version (see my signature for direct link), because the config files are exactly the same.
Well, I tried changing the code pages, but I was receiving some errors then. It seems the Greek code page cannot be changed this way. But I concede I did just a quick check, it may very well be a follow-up error, a character formerly incorrectly encoded from LFS to Unicode which now throws error when attempting to change it back from Unicode to LFS using new code pages.
Currently the InSim library running under Airio uses the codepages as suggested by Victor with two exceptions: 01250 is used instead of 28592, and 01257 is used as a fallback if 28603 is not available (that is on Linux). I think these settings work rather well, conversion to Unicode and back is smooth...
They are simply two kinds of top-level points. On each server you may activate both, one, or none. You may also activate those only for some special events and thus they're great for keeping a series score or something. Usually I have both turned off on every server, and turn on Playing points for a special Saturday demo race, and Driving points for different Sunday race. After the events the points are set to false again, and !ptp and !ptd always show Saturday/Sunday races positions...
Well, as you mention, there are certain problems with this. One is space - where to show the info. The other one is when multiple car types are used in !top... Well, let me think about it.
On another note, the above reported bug was result of an unfortunate sequence of events. But it is not a rare sequence, so code needs to be updated. I'll be sending the update info soon. For now please when you do manual track change using /track, send everyone to spectate after the new track is loaded using !sall. When using automatic track rotation this is not necessary.
Thx a lot for the info as well as the logs. My initial guess (no logs reading yet): There was a bug (very rare one, I hope) causing old car type assignment (XFG) to remain in effect on race join with LX4. Unfortunately correction will require code change, in two respects to be sure: 1) Removing the bug. 2) Sending to AIRW car type as seen in the lap finish packet (if available, I need to check) and not car type assigned internally to the driver. These changes should make the system more reliable...
Interesting, I'll try to change the codepages in the Aegio library I'm using, and see if some warnings concerning undecodable byte sequences disappear or are multiplied.
Well, the commands display is a double-sided thing. At the beginning I had all commands hidden, always. The very very bad side of this is many people will never realize there are such things as Airio commands. So I decided to artificially duplicate the commands - original command is always hidden, but its compiled form is optionally displayed to every connection. (That's why simple copy using T and arrows will fail, name will be included.)
Of course anyone has the option of hiding the typed commands, in !opt. Admins may set hidden commands as the default for every new user or for every new connection. AS Drift King says, Shift + - will block all InSim messages, but I'm not sure the guy wants that. I guess he wants just commands blocked when he blocks messages? Uhm, I can see the logic behind that, and I think I'll try to implement it.
It will require a little trick, but it is possible. An optional extension could be, that when someone writes to a guy with blocked messages, this fact is made known, so that it is clear why he is not responding. Details need to be worked out, but it could work and it could be in fact a useful feature.
Just a few short notes before I'm back from holidays:
MC, for an example see the !warn command, it is defined in default SRV file. But that is actually several separate commands, filling buttons with text, displaying them and hiding also.
Well, true. On the other hand stats update script should NOT be in server (race restart) config, it should be in CFG file, called periodically... But I'll check on that, if it is somehow possible to disable calling it twice.
There are many items in SRV file allowing you to display chat messages, big buttons and small buttons to every new connection. See UsersMotd, ButtnMotd, ConnectBtn.
In FULL/PROS Airio this could be done by scheduled or custom commands, in a fashion.
For server rules usually ButtnMotd items are used, that can display up to 20 or 24 (not sure now) lines. The Decline button (that would simply kick people) is such a funny and useless idea I repeatedly refused to implement it. Can anyone tell me who would press this button, seriously? (I do it sometimes on Lapper servers just to have a bit of fun.)
The check is the more strict, not more accurate. Basically, OffPath is used only to widen the standard path to something that is still acceptable as a server best lap time, small cutting allowed. No penalty can be assigned for leaving the proper racing path, partially because it is too lag-dependent. Airio uses server data for car positions, and server extrapolates the coordinates based on some recent changes, until it received new correct position. After a small lag the car may appear outside the racing path, especially if 0 would be used as OffPath, while in fact the driving was perfectly clean.
Search for IntakeRestriction and AddedMass in the TCD file. Basically you'll have something like this:
Track= # empty value covers all tracks Car=XFG # specific car type, all tracks IntakeRestriction=10 # the actual value
Best way is to always keep your old configuration file and just (manually) add into them new configuration items from updated default files. Automatic update of configuration files is not supported and currently I cannot even imagine how it could work. The work can be simplified using some file comparison tool, where you open your old config and compare it with new default one. For example PSPad will in different colors show just items with changed values and completely new lines. Update then takes 5 minutes max.
PS: Havoc was very fast responding, and some answers are more accurate than mine... :-O
I'll be damned. Of course they're debug messages I used to discover the bug and forgot to remove. Two options: 1) Ignore them. 2) Get the updated files, same names... Sorry!
LOOL, I see. Question is then why not use GridPriMethod=PB (personal best time stored on server), GridPriCount=32, GridPriReverse=false for race 1, and GridPriMethod=RR, GridPriCount=12, GridPriReverse=true for race 2. No manual grids and !cfg calls necessary, restarts possible and easy.
If I was to configure this, I would create Airio.srv.1.1.txt file containing the first 3 items. Sometime before the 1st race I'd apply the settings by !rld 1 1 (which says reload setup for server 1, version 1). You can also have Airio.srv.1.2.txt file with the remaining three items, and call this setup using !rld 1 2 (reload server 1, version 2).
[As an additional option, these !rld calls may be automated for execution at specific day/time or weekly, to be sure you do not forget...]
When/if you restart 2nd race, the grid ordering will use exactly the same data as before, that is 12 first of the last finished race reversed. So, for the 2nd race the custom grid MUST be used, both during start and restart, or you'll get some LFS standard order depending on other settings. A question though: Why are you using manual grid after qualification?
Thx, Void, for sending the files. The cause was discovered and corrected, it was connected with what is saved and when, including a logical flaw. Basically, driver new PB was saved but his top level (personal config) data not, that's why the uninstantiated object.
The FREE and FULL archives are now updated, so please download them again (same filename) and replace existing EXE/PDB with the one dated June 30th. Thank for bringing my attention to the problem!
You do manual grid and then call restart? Wow! I wonder if LFS by itself would keep the previously manually set order. You can disable Airio custom grid sorting using !cfg CustomGrid=false before race 1 restart, then set it back to true before race 2.
This is very probably because of the secondary sort you're using, probably by session lap time, the default. Use GridSecMethod=RR (previous race result) in the SRV file.
No, you should just know what is causing what and change the configuration (temporarily or permanently) according to needs. I realize it requires time to get acquainted with the options, but stopping Airio just because you do not want grid resorted is a serious overkill...
Typical example of security kick because of impossible split/sector/lap time, as compared to current WR. It is turned off by default, but if active it works great on most tracks. The major exception is the oval, where drafting allows to reach much better than WR times. The easiest option is turn off time checking by specifying CheckTime=false in the SRV file. That would be a permanent change (applied after !rld), you may change the setting also temporarily by typing !cfg CheckTime=false.
Wow, this one beats me. I can see where the error appears, but I do not know how it is possible. When you have a minute, could you please zip all the Airio config + stat files used and send them over? I'll need to take a closer look...
The FULL/PROS text is just display matter, but I corrected the output now... The number in console... Sorry! It was a debug info I forgot to remove from code. Also corrected now... The SQLite error on database close, hmmmm... I'm afraid I currently do not see the cause, but I improved error handling for this case, so that Airio closes properly.
All the updates are available in the same FREE/FULL files on airio.eu, just download again and update Airio.exe and Airio.pdb. Franky of 500servers will be installing Airio 2.4.5 soon.
Also, I added one more item to the SRV file that I forgot to mention in the changelog. It is supposed to restart race when leaving lobby screen after track change and thus achieve correct grid sorting, if custom sorting (e.g. by car type/speed) is used.
On Windows you'll need to copy sqlite3.dll into Airio or Windows\System32 directory, on Linux you'll need sqlite3.so in some system directory (renaming the SO file may be required). Click on the filename to download or get the file from here.
Uhmmm. I'm afraid I have no idea what Outgauge Mode sets/means... Any more info available somewhere?
I need to have some stable and reliable version before summer holidays, that's why. Not much new features, but no (serious) bugs either, that's why the updates.
Uhm, that one looks nasty, but unfortunately I do not currently see the cause, partially because Airio 2.4.5 is released and the line numbers have changed. Please do the update and if the troubles reappear, let me know again.
As mentioned, new Airio is available. The most important thing is SQLite support also in the FREE version and the possibility not only to import data to the database (basically from the STA files) using !dbi, but also to export data from the SQLite database to the internal tables later saved as STA files using !dbe. That means admins can edit the database and transfer changes to the running Airio. See the changelog for more details.
Well, I could activate a kind of debug mode on the server, but it is really caused by small changes in local WR table handling. But I concede that it is a possible weak point that could be improved. And I already have a plan how to do this without transferring too much data, but it requires Airio code and server code update. Generally, use the index as a kind of informative value. In my view, it is the hundreds that count, the tens are also pretty reliable, the units are not so important. But, as I said, I'll try to improve the process and cover the known loopholes.